#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <math.h>

int removeElement(int* nums, int numsSize, int val)
{
	int* left = nums;
	int* right = nums;
	int result = 0;
	for (int i = 0; i < numsSize; i++)
	{
		if (*(right + i) != val)
		{
			*left = *(right + i);   
			left++;
			result++;
		}
	}
	return result;
}

//void Flip(int* left, int* right)
//{
//	while (left < right)
//	{
//		*left = *left ^ *right;
//		*right = *left ^ *right;
//		*left = *left ^ *right;
//		left++;
//		right--;
//	}
//}
//
//void rotate(int* nums, int numsSize, int k) 
//{
//	k %= numsSize;
//	Flip(nums, nums + k - 1);
//	Flip(nums + k, nums + numsSize - 1);
//	Flip(nums, nums + numsSize - 1);
//}
//
//int main()
//{
//	return 0;
//}